home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 1 Issue 2 / PDCD-1 - Issue 02.iso / _utilities / utilities / 003 / bulktext / !!ReadMe next >
Text File  |  1994-05-10  |  5KB  |  136 lines

  1. BulkJoin and BulkSplit - background information
  2. -----------------------------------------------
  3.  
  4. Read this to find out what BulkJoin and BulkSplit are for.
  5.  
  6.  
  7. Up/downloading to/from mainframe
  8. --------------------------------
  9.  
  10. I frequently use my Archimedes to edit IBM mainframe-based files. To
  11. do this I first:
  12.  
  13.  (a) Download the files from the mainframe to a PC (at work)
  14.  (b) Archive them (using the PKZIP utility on the PC) to reduce
  15.      space requirements
  16.  (c) Transfer the archive to my Archimedes (at home) via floppy
  17.      disc
  18.  (d) Extract the files from the archive using SparkFS
  19.  
  20. and then after editing, I:
  21.  
  22.  (a) Re-archive the files using SparkFS
  23.  (b) Transfer the archive back to the PC
  24.  (c) De-archive the files (using the PKUNZIP utility on the PC)
  25.  (d) Upload the files to the mainframe.
  26.  
  27. This process seems cumbersome, but it does allow me to work on
  28. the files at home in peace and quiet, and I end up getting at
  29. least three times as much done!
  30.  
  31. I now regularly do this with quite large numbers of files
  32. (sometimes up to a thousand). Of course, I didn't start off
  33. uploading and downloading so many at once, but the number grew as
  34. the mainframe application I was developing got bigger and bigger.
  35. Unfortunately, as the number of files grew, the process also got
  36. progressively slower. There seemed to be three main reasons for
  37. this:
  38.  
  39.  (1) Adding files to a SparkFS archive becomes very slow when
  40.      there are a large number of files already in the archive
  41.  (2) Adding files to a DOS directory likewise becomes very slow
  42.      when there are a large number of files already in the
  43.      directory
  44.  (3) Uploading and downloading a large number of small files is
  45.      slow because of the "start-up" overhead for each file.
  46.  
  47. I wrote "BulkJoin" and "BulkSplit", plus some simple mainframe
  48. utilities, to alleviate some of these problems. The idea was to
  49. combine all files of the same type into a single file, so that
  50. the processes described above would now look like:
  51.  
  52.  (a) Combine all files of same type into single file on mainframe
  53.  (b) Download single file to PC
  54.  (c) Archive file (using PKZIP) to reduce space requirements
  55.  (d) Transfer file to Archimedes via floppy disc
  56.  (e) De-archive file on Archimedes using SparkFS
  57.  (f) Split file into individual files using "BulkSplit"
  58.  
  59. and in reverse:
  60.  
  61.  (a) Combine individual files into single file using "BulkJoin"
  62.      on the Archimedes
  63.  (b) Archive single file using SparkFS
  64.  (c) Transfer archive to PC via floppy disc
  65.  (d) De-archive single file using PKUNZIP
  66.  (e) Upload single file to mainframe
  67.  (f) Split file into individual files on mainframe
  68.  
  69. Although each process now has two additional steps, they are also
  70. very much quicker. Quoting figures for "performance" improvements
  71. is nearly always misleading, but I did find times of half-an-
  72. hour or more reduced to just a few minutes. As an added bonus, I
  73. also found that the archives were smaller -- it must be more
  74. effective to compact large files than small ones.
  75.  
  76. I still have a problem with the fact that RISC OS ADFS
  77. directories can only accommodate seventy-seven files. In the
  78. past, I have used work-arounds which include:
  79.  
  80.  (a) Storing the files in an archive, which has no such
  81.      limitation, but does incur a performance penalty
  82.  (b) Using a specialised version of "BulkSplit" which splits up
  83.      the files into multiple directories, using the file name to
  84.      decide which subdirectory should receive the file.
  85.  
  86. I found the latter work-around preferable, largely because it
  87. imposes some organisation on such a large number of files. I
  88. intend to implement this in a more general way in a later version
  89. of "BulkSplit". "BulkJoin" can already combine files from
  90. multiple subdirectories.
  91.  
  92. Note: During the uploading/downloading process, the data gets
  93. translated from ASCII (the character code used on the ARC and PC) to
  94. EBCDIC (the character code used on the IBM mainframe). This is
  95. performed automatically by the upload/download software. Because the
  96. file created by BulkJoin consist only of text (no binary data), it
  97. survives this translation quite satisfactorily.
  98.  
  99.  
  100. Other uses
  101. ----------
  102.  
  103. I have also found occasions when I want to edit a lot of files
  104. together -- usually when I want to make a number of global
  105. changes to all the files. In this case, I use BulkJoin to create
  106. a single file, make the global changes to that file, and then use
  107. BulkSplit to recreate the individual files again (of course, it
  108. also helps to have a lot of RAM).
  109.  
  110. The files
  111. ---------
  112.  
  113. The directory "BulkText" contains:
  114.  
  115.  !!ReadMe    -  this file
  116.  !BulkJoin   -  Archimedes application to combine individual
  117.                 files
  118.  !BulkSplit  -  Archimedes  application to recreate individual
  119.                 files
  120.  SMPLS/ZIP   -  ZIP archive with example mainframe utilities
  121.                 (packaged as archive to preserved DOS file
  122.                 extensions)
  123.  
  124. Both !BulkJoin and !BulkSplit run under the Acorn DDE
  125. environment, and you need the FrontEnd and TaskWindow modules
  126. that come with the DDE (TaskWindow also comes with RISC OS3 and
  127. both have appeared on a RISC USER magazine disk - July 92 Vol 5
  128. No 7).
  129.  
  130. You will of course require mainframe utilities that are specific
  131. to your mainframe environment. "Sample" contains sample EXECs for
  132. use with the IBM VM CMS environment, plus a "BulkSplt" written in
  133. C that should be portable to many environments.
  134.  
  135. Paul Witheridge  -  July 1993
  136.